import {
  Column,
  Entity,
  JoinTable,
  ManyToMany,
  PrimaryGeneratedColumn,
} from 'typeorm';
import { Flavor } from './flavor.entity';

@Entity('coffee' /* 如果不给名字，默认就是coffee */)
export class Coffee {
  // 主键，并自增
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  name: string;

  @Column()
  brand: string;

  @Column({ default: 0 })
  recommendations: number;

  // 可选字段
  // @Column('json', { nullable: true })
  // flavors: string[];

  /* 
    加入关联表
  */
  @JoinTable()
  @ManyToMany((type) => Flavor, (flavor) => flavor.coffees, {
    cascade: true, // 级联插入； ['insert', 'update'] 表示用插入和更新才有关联操作
  })
  flavors: Flavor[];
}
